Contribution studio.extensions.nuxeo-routing-default--chains
In component studio.extensions.nuxeo-routing-default
studio.extensions.nuxeo-routing-default
inside nuxeo-routing-default-8.10.jar /OSGI-INF/extensions.xml
This contribution is part of XML component Extension Point
Extension point chains of component OperationServiceComponent.Contributed Items
XML Source
<extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
<chain id="NRD-AC-PR-ChooseParticipants-Output">
<operation id="Context.FetchDocument"/>
<operation id="RunOperation">
<param name="id" type="string">NRD-AC-PR-LockDocument</param>
<param name="isolate" type="boolean">false</param>
</operation>
<operation id="Context.SetWorkflowVar">
<param name="name" type="string">initiatorComment</param>
<param name="value" type="object">expr:NodeVariables["comment"]</param>
</operation>
</chain>
<chain id="NRD-AC-PR-LockDocument">
<operation id="Context.FetchDocument"/>
<operation id="Auth.LoginAs">
<param name="name" type="string">expr:workflowInitiator</param>
</operation>
<operation id="RunOperation">
<param name="id" type="string">expr:Document.isLocked()?"voidChain":"Document.Lock"</param>
<param name="isolate" type="boolean">false</param>
</operation>
</chain>
<chain id="NRD-AC-PR-UnlockDocument">
<operation id="Context.FetchDocument"/>
<operation id="Document.Unlock"/>
</chain>
<chain id="NRD-AC-PR-ValidateNode-Output">
<operation id="Context.FetchDocument"/>
<operation id="RunOperation">
<param name="id" type="string">NRD-AC-PR-UnlockDocument</param>
<param name="isolate" type="boolean">false</param>
</operation>
<operation id="RunOperation">
<param name="id" type="string">logInAudit</param>
<param name="isolate" type="boolean">false</param>
</operation>
</chain>
<chain id="NRD-AC-PR-force-validate">
<operation id="Context.FetchDocument"/>
<operation id="Auth.LoginAs">
<param name="name" type="string">expr:Context["workflowInitiator"]</param>
</operation>
<operation id="Audit.LogEvent">
<param name="event" type="string">Consultation time excedeed</param>
<param name="category" type="string">Review workflow</param>
<param name="comment" type="string">Some consultation tasks were aborted by the system as they received no feedback message.</param>
</operation>
<operation id="Workflow.ResumeNode"/>
</chain>
<chain id="NRD-AC-PR-storeTaskInfo">
<operation id="Context.FetchDocument"/>
<operation id="RunScript">
<param name="script" type="string">This[0]</param>
</operation>
<operation id="Context.SetVar">
<param name="name" type="string">tasksInfo</param>
<param name="value" type="object">expr:NodeVariables["tasks"]</param>
</operation>
<operation id="Context.SetVar">
<param name="name" type="string">numberNA</param>
<param name="value" type="object">expr:NodeVariables["tasks"].getNumberEndedWithStatus("NA")</param>
</operation>
<operation id="Context.SetVar">
<param name="name" type="string">numberRejected</param>
<param name="value" type="object">expr:NodeVariables["tasks"].getNumberEndedWithStatus("reject")</param>
</operation>
<operation id="Context.SetVar">
<param name="name" type="string">numberApproved</param>
<param name="value" type="object">expr:NodeVariables["tasks"].getNumberEndedWithStatus("approve")</param>
</operation>
<operation id="Context.SetVar">
<param name="name" type="string">numberOfTasks</param>
<param name="value" type="object">expr:NodeVariables["numberOfTasks"]</param>
</operation>
<operation id="Render.Document">
<param name="template" type="string">template:NRD-PR-TasksInfo</param>
<param name="filename" type="string">output.ftl</param>
<param name="mimetype" type="string">text/xml</param>
<param name="type" type="string">ftl</param>
</operation>
<operation id="Context.SetWorkflowVar">
<param name="name" type="string">review_result_file</param>
<param name="value" type="object">expr:This.get(0)</param>
</operation>
<operation id="Context.SetWorkflowVar">
<param name="name" type="string">review_result</param>
<param name="value" type="object">expr:This.get(0).getString()</param>
</operation>
</chain>
<chain id="cancelWorkflow">
<operation id="Context.FetchDocument"/>
<operation id="Context.SetVar">
<param name="name" type="string">isParallelWF</param>
<param name="value" type="object">expr:Event.context.getProperty("wfName").equals("wf.parallelDocumentReview.ParallelDocumentReview")?true:false</param>
</operation>
<operation id="RunOperation">
<param name="id" type="string">expr:isParallelWF?"Document.Unlock":"voidChain"</param>
<param name="isolate" type="boolean">false</param>
</operation>
</chain>
<chain id="initInitiatorComment">
<operation id="RunScript">
<param name="script" type="string">if((NodeVariables["comment"] != "") AND (NodeVariables["comment"] != null)){
WorkflowVariables["initiatorComment"]= NodeVariables["comment"];}</param>
</operation>
</chain>
<chain id="logInAudit">
<operation id="Audit.LogEvent">
<param name="event" type="string">expr:NodeVariables["button"] =="reject"?"Document refused":"Document validated"</param>
<param name="category" type="string">Review workflow</param>
<param name="comment" type="string">expr:@{nodeLastActor} @{NodeVariables["button"] =="reject"?"Document refused":"validated"} the document with the following comment: @{NodeVariables["comment"]}</param>
</operation>
</chain>
<chain id="nextAssignee">
<operation id="RunScript">
<param name="script" type="string">if (NodeVariables["button"] == "validate") {
WorkflowVariables["index"] = WorkflowVariables["index"] + 1;
}
else if (NodeVariables["button"] == "reject") {
WorkflowVariables["index"] = WorkflowVariables["index"] - 1;
}
else if (NodeVariables["button"] == "submit") {
WorkflowVariables["index"] = 0;
}</param>
</operation>
</chain>
<chain id="notifyInitiatorEndOfWorkflow">
<operation id="Context.FetchDocument"/>
<operation id="Document.Mail">
<param name="from" type="string">expr:Env["mail.from"]</param>
<param name="message" type="string">The document was approved by every participant.</param>
<param name="subject" type="string">expr:@{Env["nuxeo.notification.eMailSubjectPrefix"]} Document approved</param>
<param name="to" type="stringlist">expr:Fn.getEmail(workflowInitiator)</param>
<param name="HTML" type="boolean">false</param>
<param name="rollbackOnError" type="boolean">true</param>
<param name="viewId" type="string">view_documents</param>
</operation>
</chain>
<chain id="reinitAssigneeComment">
<operation id="RunScript">
<param name="script" type="string">if((NodeVariables["comment"] != "") AND (NodeVariables["comment"] != null)){
NodeVariables["comment"]= null;}</param>
</operation>
</chain>
<chain id="terminateWorkflow">
<operation id="Context.FetchDocument"/>
<operation id="RunOperation">
<param name="id" type="string">logInAudit</param>
<param name="isolate" type="boolean">false</param>
</operation>
<operation id="Context.RunDocumentOperationInNewTx">
<param name="id" type="string">notifyInitiatorEndOfWorkflow</param>
<param name="isolate" type="boolean">false</param>
<param name="rollbackGlobalOnError" type="boolean">false</param>
</operation>
<operation id="RunOperation">
<param name="id" type="string">expr:WorkflowVariables["validationOrReview"] == "validation"?"validateDocument":"voidChain"</param>
<param name="isolate" type="boolean">false</param>
</operation>
<operation id="Audit.LogEvent">
<param name="event" type="string">Review completed successfully</param>
<param name="category" type="string">Review workflow</param>
<param name="comment" type="string">All the participants of the review have approved the document.</param>
</operation>
</chain>
<chain id="validateDocument">
<operation id="Context.FetchDocument"/>
<operation id="Document.FollowLifecycleTransition">
<param name="value" type="string">approve</param>
</operation>
<operation id="Document.CheckIn">
<param name="version" type="string">minor</param>
<param name="comment" type="string">Automatic checkin after validation</param>
</operation>
</chain>
<chain id="voidChain">
<operation id="Context.FetchDocument"/>
</chain>
</extension>